#ifndef		___DATA_SESSION_MGR_IMP___
#define		___DATA_SESSION_MGR_IMP___

#include "DataSession.h"

//
//	Data Session Manager 
//	which managed a group of data sessions, there will be multiple data session manager in an data host
//	each manager managed a couple of data sessions.
//
class DataSessionMgr
{
public:
	DataSessionMgr(boost::asio::io_service& ioSvc);
	virtual ~DataSessionMgr();


	//
	//
	//
	virtual	bool			addSession(DataSession* pSes);
	virtual bool			rmvSession(const int& nSesID);
	virtual DataSession*	getSession(const int& nSesID);

protected:

	boost::asio::io_service&	m_theIoSvc;
	boost::recursive_mutex		m_theMutex;

private:
	DataSessionMap		m_theSesMap;
};

#endif
